import {request} from "../../utils/requset";
import {Button, message} from "antd";
import { useSelector } from "react-redux";

const HelpText = ({currentPathname}) => {
    console.log('currentPathname', currentPathname);
    const sysConfig = useSelector(state => state.pz.sysConfig);

    const downloadHelpFile  = async (filePath, filename) => {
        // console.log('filePath', filePath)
        // console.log('fileName', filename)
        try {
            const payload = {
                filePath:filePath,
                fileName:filename
            }

            const response = await request.post('/file_upload/api/download_file', payload, {
                responseType: 'blob' // 设置响应类型为 blob，以便处理文件下载
            });
            // 从响应头中提取文件名
            const contentDisposition = response.headers['content-disposition'];
            const fileName = filename || (contentDisposition
            ? contentDisposition.split('filename=')[1].replace(/"/g, '') // 解析文件名
            : 'downloaded_file.xlsx');  // 默认文件名

            // 创建一个链接并模拟点击下载 Excel 文件
            const url = window.URL.createObjectURL(new Blob([response.data]));
            const link = document.createElement('a');
            link.href = url;
            link.setAttribute('download', fileName);  // 文件名
            document.body.appendChild(link);

            // 自动点击链接开始下载
            link.click();

            // 下载后清理
            link.parentNode.removeChild(link);
            message.success('文件下载完成！');
        } catch (error) {
            if (error.response) {
                message.error(`文件下载失败: ${error.response.data.message}`);
            } else {
                // console.error(':', error);
                message.error('文件下载失败');
            }
        } finally {

        }
    }


    if (currentPathname === '/') {
        return null;
    }else if(currentPathname === '/robot/rpa/operate'){
        return <p>按报表型号配置、列配置及已上传的凭证数据等按规则生成收支余报表；其中，账套等信息按系统配置中的默认信息</p>
    }else if(currentPathname === '/robot/test/upload'){
        return <div>
            <p>点击或拖拽文件到数据上传区域以上传文件</p>
            <p>支持上传Excel文件.xlsx和.xlsm格式; 支持多文件上传</p>
        </div>
    }else if(currentPathname === '/robot/rpa/nwproject'){
        return <div>
            <p>上传报表行所需型号与核算项目编号关系的配置文件</p>
            <Button type="link" onClick={() => {downloadHelpFile("行配置文件", sysConfig.databasetype==="U8"?"行配置上传模板_U8.xlsx":"行配置上传模板.xlsx")}}>点击下载行配置上传模板</Button>
        </div>
    }else if(currentPathname === '/robot/rpa/nwfymc'){
        return <div>
            <p>上传报表列所需费用与核算科目编号关系的配置文件</p>
            <Button type="link" onClick={() => {downloadHelpFile("列配置文件", sysConfig.databasetype==="U8"?"列配置上传模板_U8.xlsx":"列配置上传模板.xlsx")}}>点击下载列配置上传模板</Button>
            <p>注：</p>
            <p>1. "会计年度"列必填</p>
            <p>2. "数据描述"列填入科目取数规则，示例如下<br/>
                示例1：K:+501101#JFFS,+501102#DFFS,-501108#NCYE , 说明: 开头字母K加冒号(:)表示为科目描述，后面跟着
                '运算方式''科目编号'#'取数方式'，多个表达式以逗号(,)分割<br/>
                示例2：501101#JFFS,501102#DFFS,-501108#NCYE , 说明: 开头字母K可省略; 运算方式中的加号可省略<br/>
                示例3：F:+C010,+C020,-C030,-C040 , 说明: 开头字母F表示列运算表达式，其后的C010表示同一模型下的其他列编号
            </p>
        </div>
    }else if(currentPathname === '/robot/rpa/pzsc'){
        return <div>
            <p style={{fontWeight:'bold'}}>1.手动导入</p>
            <p>点击或拖拽文件到数据上传区域以上传文件</p>
            <p>支持上传Excel文件.xlsx和.xlsm格式; 支持多文件上传</p>
            <p style={{fontWeight:'bold'}}>2.自动导入</p>
            <p>自动登录财务核心系统下载凭证数据，导入本系统</p>
            <p>支持自定义凭证的开始日期与结束日期</p>
        </div>
    }else if(currentPathname === '/robot/rpa/kmzdsc'){
        return <div>
            <p style={{fontWeight:'bold'}}>1.手动导入</p>
            <p>点击或拖拽文件到数据上传区域以上传文件</p>
            <p>支持上传Excel文件.xlsx和.xlsm格式; 支持多文件上传</p>
            <p style={{fontWeight:'bold'}}>2.自动导入</p>
            <p>自动登录财务核心系统下载科目字典表，导入本系统</p>
            <p>支持自定义科目字典表的年度</p>
        </div>
    }else if(currentPathname === '/robot/rpa/xmyebsc'){
        return <div>
            <p style={{fontWeight:'bold'}}>1.手动导入</p>
            <p>点击或拖拽文件到数据上传区域以上传文件</p>
            <p>支持上传Excel文件.xlsx和.xlsm格式; 支持多文件上传</p>
            <p style={{fontWeight:'bold'}}>2.自动导入</p>
            <p>自动登录财务核心系统下载项目余额表，导入本系统</p>
            <p>支持自定义项目余额表的年度及科目</p>
        </div>
    } else {
        return <p>无帮助信息</p>
    }
}

export default HelpText;